Hume: A Domain-Specific Language for Real-Time Embedded Systems
نویسندگان
چکیده
This paper describes Hume: a novel domain-specific language whose purpose is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. Hume provides a number of high level features including higherorder functions, polymorphic types, arbitrary but sized user-defined data structures, asynchronous processes, lightweight exception handling, automatic memory management and domain-specific metaprogramming features, whilst seeking to guarantee strong space/time behaviour and maintaining overall determinacy. 1 Essential Language Properties in the Real-Time Embedded System Domain Embedded systems are becoming increasingly prevalent in everyday life. From a computer science perspective such systems represent a software/hardware blend at a much lower level of abstraction than usual. They also introduce strict costdriven requirements on system capabilities. Adapting general purpose languages for such a domain often leads to a poor fit between the language features and the implementation requirements. Domain-specific language designs such as Hume allow low-level system requirements to guide the design of the high level language features we desire. We can identify a number of essential or desirable properties for a language that is aimed at real-time embedded systems [20]. – determinacy – the language should allow the construction of determinate systems, by which we mean that under identical environmental constraints, all executions of the system should be observationally equivalent ; This work is generously supported by a grant from the UK’s Engineering and Physical Sciences Research Council. F. Pfenning and Y. Smaragdakis (Eds.): GPCE 2003, LNCS 2830, pp. 37–56, 2003. c © Springer-Verlag Berlin Heidelberg 2003 38 Kevin Hammond and Greg Michaelson data structures Full Hume
منابع مشابه
The Design of Hume: A High-Level Language for the Real-Time Embedded Systems Domain
This chapter describes the design of Hume: a domain-specific language targeting real-time embedded systems. Hume provides a number of high level features including higher-order functions, polymorphic types, arbitrary but sized user-defined data structures, asynchronous processes, lightweight exception handling, automatic memory management and domain-specific meta-programming features, whilst se...
متن کاملRate Analysis and Deadlock Detection for HUME
HUME is a domain-specific programming language targeting resourcebounded computations, such as real-time embedded systems. Rate analysis is a novel algorithm for HUME that determines the relative rates (i.e. how often events occur, or components need to run) within the whole system, and as such the algorithm possess the following useful properties: • Deadlock Detection – of some cases. • Schedu...
متن کاملTowards Formally Verifiable WCET Analysis for a Functional Programming Language
This paper describes ongoing work aimed at the construction of formal cost models and analyses to yield verifiable guarantees of resource usage in the context of real-time embedded systems. Our work is conducted in terms of the domain-specific language Hume, a language that combines functional programming for computations with finitestate automata for specifying reactive systems. We outline an ...
متن کاملThe Dynamic Properties of Hume: A Functionally-Based Concurrent Language with Bounded Time and Space Behaviour
This paper provides a self-contained formal description of the dynamic properties of Hume, a novel functionally-based concurrent language that aims to target spaceand time-critical systems such as safetycritical, embedded and real-time systems. The language is designed to support rigorous cost and space analyses, whilst providing a high level of abstraction including polymorphic type inference,...
متن کاملExploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: The Hume Approach
This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003